A video graphics system typically includes a display monitor, a controller circuit, and video memory combined with a shift register. Typical monitors have a screen which comprises an array of pixels that are illuminated by an electron beam. The video memory contains the data necessary to instruct the beam relative to the illumination of each pixel.
Each pixel is defined by some number of memory bits; a single bit can be used for monochromatic displays, or multiple bits can be used to improve the resolution and provide the control required for gray scale and color displays. Image quality improves with the number of bits used to define each pixel. This image quality ratio is commonly referred to as bits-per-pixel (bpp). Image quality also increases with the number of pixels per inch that the screen can display, i.e., the pixel density.
In order for a display to illuminate, or "draw" an image, information defining each pixel on that display must be transferred from the video memory to the controller circuit and then to the display. The display information for each pixel has a unique address in the video memory, which is selected by the control circuitry. The information stored at that address is then sent to the display.
There are a variety of standard video displays. Each type of display has an array comprised of specific number of rows and columns of pixels. The electron beam sweeps across each line of the screen one line at a time from left to right within the display. The beam illuminates each line of pixels, according to the information transferred from the video memory. Upon reaching the right side of the display, the beam is temporarily deactivated and withdrawn to the left hand side, in preparation for the illumination of the next line. The period of time during which the beam returns to the left of the screen is referred to as the monitor's blanking time. By scanning the display at a higher rate (i.e., more pixels per unit time), and shortening the blanking time, higher resolution images are possible.
The image that is displayed on a video monitor or display does not always represent the entire image that is stored in the video memory. The display being viewed is often a section or percentage of the complete image, the area being displayed having been selected by the video system controller. This section and display of specific areas of an image is referred to as "panning". Panning is used when working with small-screen displays and when displaying a portion of a large or complex image (also called a "virtual desktop"). In other words, the entire bit map stored in memory contains more information than can actually be displayed on a monitor at any given moment. Thus, the display is panned throughout the virtual desktop, according to the operator's needs.
Having selected a specific area of an image for display, it is often desirable to be able to change the size of the image. Many graphics systems offer this capability--commonly referred to as "zoom". Zoom allows portions of a complex image to be magnified so that it may be edited, or reduced so that it may be viewed in relation to the complete image. The mechanics of the zoom feature will not be discussed here. Zoom is mentioned because its use is often dependent upon the system's ability to pan.
The methods currently available to provide panning are not equally efficient with all displays. The variation in the number and arrangement of the pixels on each display type results in a corresponding variation in the way the data defining those pixels is moved from memory to the display. With some display types, this results in areas of the image that cannot be specifically displayed in a certain place on the display without loss of resolution. The system's ability to apply the zoom function to a specific portion of the display is obviously affected, because the system must be able to pan to the desired pixels before it can magnify or reduce them.